#pragma once
#include "ASN1Integer.h"

namespace AppliedCryptography
{
	class TBSVersion : public ASN1Integer
	{
	public:
		enum versionNo {v1 = 0, v2 = 1, v3 = 2};

	protected:
		TBSVersion(ClassBits classBits, ConstructedBit constucted, TypeNumberBits number);
		TBSVersion(ClassBits classBits, ConstructedBit constucted, TypeNumberBits number, versionNo value);

	public:
		TBSVersion();
		TBSVersion(versionNo value);

	public:
		virtual std::vector<byte> getContentBits() const;
	};
}; // namespace AppliedCryptography
